struct Options {
flag_verbose: bool,
flag_bin: bool,
- flag_travis: bool,
arg_path: String,
flag_vcs: Option<ops::VersionControl>,
}
--vcs <vcs> Initialize a new repository for the given version
control system (git or hg) or do not initialize any version
control at all (none) overriding a global configuration.
- --travis Create a .travis.yml file
--bin Use a binary instead of a library template
-v, --verbose Use verbose output
";
debug!("executing; cmd=cargo-new; args={:?}", os::args());
shell.set_verbose(options.flag_verbose);
- let Options { flag_travis, flag_bin, arg_path, flag_vcs, .. } = options;
+ let Options { flag_bin, arg_path, flag_vcs, .. } = options;
let opts = ops::NewOptions {
version_control: flag_vcs,
- travis: flag_travis,
path: arg_path.as_slice(),
bin: flag_bin,
};
pub struct NewOptions<'a> {
pub version_control: Option<VersionControl>,
- pub travis: bool,
pub bin: bool,
pub path: &'a str,
}
(None, None, name, None) => name,
};
- if opts.travis {
- try!(File::create(&path.join(".travis.yml")).write_str("language: rust\n"));
- }
-
try!(File::create(&path.join("Cargo.toml")).write_str(format!(
r#"[package]
'(-h, --help)'{-h,--help}'[show help message]' \
'--hg[initialize new mercurial repo]' \
'--no-git[no new git repo]' \
- '--travis[create new .travis.yml]' \
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
;;
return 0;;
new)
COMPREPLY=( $(compgen -W \
- "--bin --git --help --hg --no-git --travis --verbose" \
+ "--bin --git --help --hg --no-git --verbose" \
-- "${cur}") )
return 0;;
run)
execs().with_status(0));
});
-test!(simple_travis {
- os::setenv("USER", "foo");
- assert_that(cargo_process("new").arg("foo").arg("--travis"),
- execs().with_status(0));
-
- assert_that(&paths::root().join("foo"), existing_dir());
- assert_that(&paths::root().join("foo/Cargo.toml"), existing_file());
- assert_that(&paths::root().join("foo/src/lib.rs"), existing_file());
- assert_that(&paths::root().join("foo/.travis.yml"), existing_file());
-
- assert_that(cargo_process("build").cwd(paths::root().join("foo")),
- execs().with_status(0));
-});
-
test!(no_argument {
assert_that(cargo_process("new"),
execs().with_status(1)